package myzzyl.service;

import myzzyl.domain.dto.SysPostDto;
import myzzyl.domain.dto.SysPostPageQueryDto;
import myzzyl.domain.pojo.SysPost;
import com.baomidou.mybatisplus.extension.service.IService;
import myzzyl.domain.vo.SysPostVo;
import myzzyl.response.PageResponse;

import java.util.List;

/**
* @author 33249
* @description 针对表【sys_post(岗位表)】的数据库操作Service
* @createDate 2025-08-14 10:03:44
*/
public interface SysPostService extends IService<SysPost> {

    /**
     * 分页获取职位列表数据
     * @param pageNum 页面
     * @param pageSize 每页大小
     * @param sysPostPageQueryDto 职位分页查询请求包装类
     * @return 返回值
     */
    PageResponse<SysPostVo> pageQuery(Integer pageNum, Integer pageSize, SysPostPageQueryDto sysPostPageQueryDto);


    /**
     * 获取所有职位数据
     * @param sysPostDto 职位表单请求封装类
     * @return 返回值
     */
    List<SysPost> getAll(SysPostDto sysPostDto);


    /**
     * 获取职位详情数据
     * @param id 职位id
     * @return 返回值
     */
    SysPost getInfo(Long id);


    /**
     * 新增职位
     * @param sysPostDto 职位表单请求封装类
     * @return 返回值
     */
    boolean add(SysPostDto sysPostDto);


    /**
     * 编辑职位
     * @param sysPostDto 职位表单请求封装类
     * @return 返回值
     */
    boolean edit(SysPostDto sysPostDto);


    /**
     * 删除职位
     * @param postNo 职位编号
     * @return 返回值
     */
    boolean remove(String postNo);

    /**
     * 启用或禁用职位
     * @param sysPostDto 职位表单请求封装类
     * @return 返回值
     */
    boolean enableOrDisableSysPost(SysPostDto sysPostDto);


}
